Amazon Q(for Business Use) のWeb画面の認証にMicrosoft Entra IDを構成する
ども、大瀧です。 re:Invent 2023で発表されたAmazon Q(for Business Use)(以下Q for Business)は、業務向けに生成AIアシスタントを提供するサービスです。本ブログでは、Q for BusinessのWeb画面の認証にEntra IDを設定する様子をご紹介します。
2023年12月現在、Q for Businessはプレビューです。本番での適用は避け、今後仕様が変更される可能性があることを承知しておきましょう。
Amazon Q for BusinessにはWeb画面がある
AWSのサービスとしては珍しく、Q for Businessはユーザー認証が統合された専用のWeb画面が提供されます。ユーザー認証は組織のIdPとSAML2.0で統合するため、本ブログではサポートするIdPのうちMicrosoft Entra ID(旧Azure AD)で構成する様子をご紹介します。
手順1. Q for Businessの準備
こちらのブログの手順にしたがって、Q for Businessのアプリケーションを作成します。
アプリケーション一覧から作成したアプリケーションを選択し、一覧右上の[Deploy web experience]ボタンをクリックします。Deploy web experience画面の[Configure user and group mapping]セクションの[Application consumer services (ACS) URL]と[Audience URI (SP Entity ID]の項目をそれぞれコピーして控えておきます。
このあとの手順でこの画面の操作をするので、開いたままEntra IDの構成に進みましょう。
手順2. Entra IDの構成
続いてEntra IDを構成していきます。
動作確認環境
- プラン: Microsoft Entra ID Free
- ディレクトリ: Default Directory
今回はDefault Directoryをそのまま利用しログイン時のメールアドレスは既定の ユーザー名@xxxx.onmicrosoft.com
にしました。
SAML2.0を構成するために、メニューの[エンタープライズアプリケーション]を選択します。
一覧の上にある[+ 新しいアプリケーション]をクリックします
[Microsoft Entra ギャラリーを参照する]画面では[+ 独自のアプリケーションの作成]をクリックします
[独自のアプリケーションの作成]画面では、アプリ名を入力(今回は「Amazon Q」)、[ギャラリーに見つからないその他のアプリケーションを統合します(ギャラリー以外)]を選択します。
プロパティの[Getting Started]から、[1. ユーザーとグループの割り当て]の[ユーザーとグループの割り当て]リンクをクリックし、アクセスを許可するユーザーやグループを選択します。
続いて概要画面に戻り、[2. シングルサインオンの設定]の[作業の開始]リンクをクリックします。
リサイズ
[シングルサインオン方式の選択]では、[SAML]を選択します
リサイズ
[SAMLベースのサインオン]画面では、[基本的なSAML構成]セクション右上の[編集]をクリックします
[基本的なSAML構成]の[識別子(エンティティID)]、[応答URL(Assertion Consumer Service URL)]それぞれの追加リンクをクリックし、テキストボックスを表示します。
手順1でコピーしておいた項目をそれぞれペーストし、[保存]をクリックします。
- 項目名: 識別子(エンティティID) → 手順1の値: Audience URI (SP Entity ID)
- 項目名: 応答URL(Assertion Consumer Service URL) → 手順1の値: Application consumer services (ACS) URL
[SAMLベースのサインオン]画面に戻り、[属性とクレーム]セクション右側の[編集]をクリックします。
[必要な要求]にある項目「一意のユーザー識別子(名前ID)」をクリックします。
[要求の管理]画面では、[名前識別子の形式の選択]のドロップダウンメニューから「指定なし」を選択し、[保存]をクリックします。
[属性とクレーム]画面に戻ったら、画面上部の[+ 新しいクレームの追加]ボタンをクリックします。
[名前]に「Email」と入力、[名前の形式を選択する]テキストをクリックし、[名前の形式]のドロップダウンメニューから「指定なし」を選択します。
リサイズ
[ソース属性]のドロップダウンメニューから user.mail
を選択し、[保存]をクリックします。
リサイズ
[属性とクレーム]画面に戻ったら右上の「×」をクリック[SAMLベースのサインオン]画面に戻り、[SAML証明書]セクションの[フェデレーションメタデータ XML]右側の[ダウンロード]リンクをクリックして、XMLファイルをPCの任意のフォルダにダウンロードします。
これでEntra IDの構成は完了です。
手順3. Q for Businessの構成(続き)
最後にQ for BusinessのDeploy web experience画面の残りの項目2点を設定し、[Deploy]ボタンでデプロイを実行します。
- [Provide metadata from your IdP]にある[Import from XML file]ボタンをクリックし、手順2でダウンロードしたXMLファイルを選択
- [COnfigure user and group mapping]の[Email attribute of SAML assertion]に「Email」(手順2で追加したクレーム名)と入力
これでQ for Businessの構成も完了です。
動作確認
それでは、Q for BusinessのWeb画面にアクセスしましょう。Q for BusinessのApplication一覧画面から作成したApplicationの[Deployed URL]列のリンク`https://xxxx.chat.qbusiness.リージョン名.on.aws/`をクリックします。
Entra IDのログイン画面が表示されたら、手順2で割り当てたユーザーのメールアドレス(ユーザー名@xxxx.onmicrosoft.com
)を入力し[次へ]をクリックしてパスワードを入力しログインします(MFAの構成など追加の設定を促される場合があります)。
Q for Businessのチャット画面が表示されました!
まとめ
Q for BusinessのWeb画面の認証にEntra IDを設定する様子をご紹介しました。現時点ではQ for Business側でユーザーを認可する仕組みはなく、Entra IDのアプリケーションへの割り当てでユーザーの認可を制御する点に注意が必要かもしれません。まだプレビューなのでこの辺りの様子は今後変わっていく可能性がありそうですね。